Touch Wheel Zoom And Pan

ABSTRACT

Systems, methods, and other embodiments associated with controlling zooming and panning on a handheld computing device (e.g., personal digital assistant (PDA)) are described. A PDA may include a touch sensor that can generate both rotational and flick signals. A PDA may display images at different zoom levels. When “zoomed in”, less than an entire image may be displayed. Therefore a PDA may pan to different viewable image portions. An example system includes a receive logic to receive a rotational signal from the touch sensor. The rotational signal has a direction that indicates a desired zoom level change. The example system includes a control logic to change the zoom level in response to the rotational signal and to control the PDA to display the image in accordance with the updated zoom level.

BACKGROUND

Handheld computing devices are ubiquitous. Common handheld computingdevices include, a personal digital assistant (PDA), a cellulartelephone, a music player (e.g., MP3 player), a movie player (e.g., MPEGplayer), a personal game system, and so on. These handheld computingdevices may run a variety of applications including image viewingprograms, word processors, video games, telephony, email, and so on.These handheld computing devices may include a variety of well knowninput controls suited to their applications. For example, handheldcomputing devices may include keypads, touch sensors, buttons, wheels,sliders, and so on. Furthermore, these input devices may be bothphysical (e.g., keypad with fixed, physical buttons) or virtual (e.g.,keypad displayed on touch sensitive display). Thus, numerouscombinations of input devices and applications are available. However,interesting combinations of input devices and applications continue toarise.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of the specification, illustrate various example systems, methods,and other example embodiments of various aspects of the invention. Itwill be appreciated that the illustrated element boundaries (e.g.,boxes, groups of boxes, or other shapes) in the figures represent oneexample of the boundaries. One of ordinary skill in the art willappreciate that in some examples one element may be designed as multipleelements or that multiple elements may be designed as one element. Insome examples, an element shown as an internal component of anotherelement may be implemented as an external component and vice versa.Furthermore, elements may not be drawn to scale.

FIG. 1 illustrates an example system associated with zooming using atouch wheel control on a handheld computing device.

FIG. 2 illustrates another example system associated with zooming andpanning using a touch wheel control on a handheld computing device.

FIG. 3 illustrates another example system associated with zooming andpanning using a touch wheel control on a handheld computing device.

FIG. 4 illustrates an example view window associated with zooming andpanning using a touch wheel control on a handheld computing device.

FIG. 5 illustrates an example method associated with zooming using atouch wheel control on a handheld computing device.

FIG. 6 illustrates another example method associated with zooming andpanning using a touch wheel control on a handheld computing device.

FIG. 7 illustrates another example method associated with zooming andpanning using a touch wheel control on a handheld computing device.

FIG. 8 illustrates an example computing environment in which examplesystems and methods, and equivalents, may operate.

DETAILED DESCRIPTION

A handheld computing device may display images (e.g., digitalphotographs). Conventionally a user may have been able to zoom in orzoom out on a displayed image using a dedicated zoom button. Thededicated zoom button may have been physical (e.g., thumb wheel, arrowbutton) or virtual (e.g., arrow displayed on touch sensitive display). Ahandheld computing device may include a conventional touch wheel. Thetouch wheel may have been used to navigate through a menu, to control ascroll bar, and so on. Example systems and methods described hereinaccept input from a touch wheel to control the zoom level of a displayedimage. Example systems and methods described herein may also acceptinput from an inner portion of a touch wheel to control panning actionson a displayed image. In one example, if a displayed image is “zoomedout” all the way, then a pan instruction may be interpreted as a scrollinstruction and a different digital image may be displayed.

The following includes definitions of selected terms employed herein.The definitions include various examples and/or forms of components thatfall within the scope of a term and that may be used for implementation.The examples are not intended to be limiting. Both singular and pluralforms of terms may be within the definitions.

References to “one embodiment”, “an embodiment”, “one example”, “anexample”, and so on, indicate that the embodiment(s) or example(s) sodescribed may include a particular feature, structure, characteristic,property, element, or limitation, but that not every embodiment orexample necessarily includes that particular feature, structure,characteristic, property, element or limitation. Furthermore, repeateduse of the phrase “in one embodiment” does not necessarily refer to thesame embodiment, though it may.

ASIC: application specific integrated circuit.

CD: compact disk.

CD-R: CD recordable.

CD-RW: CD rewriteable.

DVD: digital versatile disk and/or digital video disk.

HTTP: hypertext transfer protocol.

LAN: local area network.

PCI: peripheral component interconnect.

PCIE: PCI express.

RAM: random access memory.

DRAM: dynamic RAM.

SRAM: synchronous RAM.

ROM: read only memory.

PROM: programmable ROM.

EPROM: erasable PROM.

EEPROM: electrically erasable PROM.

USB: universal serial bus.

WAN: wide area network.

“Computer component”, as used herein, refers to a computer-relatedentity (e.g., hardware, firmware, software in execution, combinationsthereof). Computer components may include, for example, a processrunning on a processor, a processor, an object, an executable, a threadof execution, and a computer. A computer component(s) may reside withina process and/or thread. A computer component may be localized on onecomputer and/or may be distributed between multiple computers.

“Computer communication”, as used herein, refers to a communicationbetween computing devices (e.g., computer, personal digital assistant,cellular telephone) and can be, for example, a network transfer, a filetransfer, an applet transfer, an email, an HTTP transfer, and so on. Acomputer communication can occur across, for example, a wireless system(e.g., IEEE 802.11), an Ethernet system (e.g., IEEE 802.3), a token ringsystem (e.g., IEEE 802.5), a LAN, a WAN, a point-to-point system, acircuit switching system, a packet switching system, and so on.

“Computer-readable medium”, as used herein, refers to a medium thatstores signals, instructions and/or data. A computer-readable medium maytake forms, including, but not limited to, non-volatile media, andvolatile media. Non-volatile media may include, for example, opticaldisks, magnetic disks, and so on. Volatile media may include, forexample, semiconductor memories, dynamic memory, and so on. Common formsof a computer-readable medium may include, but are not limited to, afloppy disk, a flexible disk, a hard disk, a magnetic tape, othermagnetic medium, an ASIC, a CD, other optical medium, a RAM, a ROM, amemory chip or card, a memory stick, and other media from which acomputer, a processor or other electronic device can read.

“Data store”, as used herein, refers to a physical and/or logical entitythat can store data. A data store may be, for example, a database, atable, a file, a list, a queue, a heap, a memory, a register, and so on.In different examples, a data store may reside in one logical and/orphysical entity and/or may be distributed between two or more logicaland/or physical entities.

“Logic”, as used herein, includes but is not limited to hardware,firmware, software in execution on a machine, and/or combinations ofeach to perform a function(s) or an action(s), and/or to cause afunction or action from another logic, method, and/or system. Logic mayinclude a software controlled microprocessor, a discrete logic (e.g.,ASIC), an analog circuit, a digital circuit, a programmed logic device,a memory device containing instructions, and so on. Logic may includeone or more gates, combinations of gates, or other circuit components.Where multiple logical logics are described, it may be possible toincorporate the multiple logical logics into one physical logic.Similarly, where a single logical logic is described, it may be possibleto distribute that single logical logic between multiple physicallogics.

An “operable connection”, or a connection by which entities are“operably connected”, is one in which signals, physical communications,and/or logical communications may be sent and/or received. An operableconnection may include a physical interface, an electrical interface,and/or a data interface. An operable connection may include differingcombinations of interfaces and/or connections sufficient to allowoperable control. For example, two entities can be operably connected tocommunicate signals to each other directly or through one or moreintermediate entities (e.g., processor, operating system, logic,software). Logical and/or physical communication channels can be used tocreate an operable connection.

“Signal”, as used herein, includes but is not limited to, electricalsignals, optical signals, analog signals, digital signals, data,computer instructions, processor instructions, messages, a bit, a bitstream, or other means that can be received, transmitted and/ordetected.

“Software”, as used herein, includes but is not limited to, one or moreexecutable instructions that cause a computer, processor, or otherelectronic device to perform functions, actions and/or behave in adesired manner. “Software” does not refer to stored instructions beingclaimed as stored instructions per se (e.g., a program listing). Theinstructions may be embodied in various forms including routines,algorithms, modules, methods, threads, and/or programs includingseparate applications or code from dynamically linked libraries.

“User”, as used herein, includes but is not limited to one or morepersons, software, computers or other devices, or combinations of these.

Some portions of the detailed descriptions that follow are presented interms of algorithms and symbolic representations of operations on databits within a memory. These algorithmic descriptions and representationsare used by those skilled in the art to convey the substance of theirwork to others. An algorithm, here and generally, is conceived to be asequence of operations that produce a result. The operations may includephysical manipulations of physical quantities. Usually, though notnecessarily, the physical quantities take the form of electrical ormagnetic signals capable of being stored, transferred, combined,compared, and otherwise manipulated in a logic, and so on. The physicalmanipulations create a concrete, tangible, useful, real-world result.

It has proven convenient at times, principally for reasons of commonusage, to refer to these signals as bits, values, elements, symbols,characters, terms, numbers, and so on. It should be borne in mind,however, that these and similar terms are to be associated with theappropriate physical quantities and are merely convenient labels appliedto these quantities. Unless specifically stated otherwise, it isappreciated that throughout the description, terms including processing,computing, determining, and so on, refer to actions and processes of acomputer system, logic, processor, or similar electronic device thatmanipulates and transforms data represented as physical (electronic)quantities.

FIG. 1 illustrates an example system 100 associated with zooming (e.g.,zoom in, zoom out) an image using a touch wheel control on a handheldcomputing device. The handheld computing device may be, for example, apersonal digital assistant (PDA), a cellular telephone, a personal gamesystem, a dedicated image viewer, and so on. The handheld computingdevice can display an image and can be configured to allow a user tozoom in or zoom out using input received from the touch wheel control.The touch wheel control may be described, more generally, as a touchsensor. As used herein, “touch sensor” refers to a type of controlcommonly found on handheld computing devices like MP3 players, laptopcomputers, and so on. Example “touch sensors” are described in UnitedStates Patent Application Publications 2004/0252109, 2007/0273671. Atouch wheel and a touch sensor are capable of providing a signal inresponse to a rotational motion on the touch device. For example,rotating a finger around the outside of a touch wheel can generate asignal indicating the direction of rotation and, in some cases, thespeed in which the finger was rotated.

System 100 includes a receive logic 110. Receive logic 110 will receivea rotational motion signal 130. The rotational motion signal 130 may bereceived from a touch sensor associated with the handheld computingdevice. The touch sensor may be, for example, a resistive touch sensor,a capacitive touch sensor, an inductive touch sensor, a surface acousticwave sensing touch sensor, a pressure sensing touch sensor, an opticalsensing touch sensor, and an electro-mechanical touch sensor. Whileseven types of touch sensors are described, it is to be appreciated thata rotational motion signal may be received from different types of touchsensors having different configurations. In different examples, thetouch sensor may be overlaid on a keypad associated with the handheldcomputing device, may be integrated into a keypad associated with thehandheld computing device, and so on.

As described in the published patent applications cited herein, thetouch sensor may be formed as a closed loop having a physical constraintformed on an upper surface of the touch sensor. The constraint may beco-extensive with the outer perimeter of the closed loop. In oneexample, the rotational motion signal is generated in response to aninteraction with the closed loop. In other examples the rotationalmotion signal may be generated in response to other interactions withthe touch sensor. Conventionally, the rotational motion signal has beenused to perform tasks like controlling a scroll bar, scrolling betweenfiles, traversing a menu, controlling an MP3 player volume, and so on.However, the rotational motion signal has not conventionally been usedto control the zoom level of an image displayed, for example, on a PDA.

The rotational motion signal 130 has a rotational direction that can beinterpreted to indicate a desired change in the zoom level. For example,a clockwise rotational motion may indicate a desire to zoom in while acounter-clockwise rotational motion may indicate a desire to zoom out.Different users may have different preferences concerning whichrotational direction is to be interpreted to zoom in and/or zoom out andthus, in one example, updating a zoom level in response to therotational motion may be configurable.

System 100 includes a control logic 120 to selectively change the zoomlevel in response to the rotational motion signal. Changing the zoomlevel may include, for example, updating a value stored in a memory,changing a value in a register, updating a value in a data store,providing a signal to a zoom level logic, and so on. Having changed thezoom level associated with the displayed image, control logic 120 mayprovide a control signal 140 to control the handheld computing device todisplay the image in accordance with the zoom level. In differentexamples the control signal 140 may provide the zoom level to thehandheld computing device, may provide a pointer to the zoom level, maygenerate an interrupt in a screen refresh logic, and so on.

In one example, the rotational motion signal 130 has an angular velocityassociated with how quickly the rotational motion occurred. While“angular velocity” is described, more generally the rotational motionsignal 130 may include a component that describes the rate at which auser produced a rotational motion on a touch sensor. Receive logic 110and/or control logic 120 may interpret this angular velocity as adesired rate of change for the zoom level. Thus, the control logic 120may change the zoom level at a first rate associated with a firstangular velocity and at a second rate associated with a second angularvelocity. Thus, a user may zoom in more slowly or more quickly dependingon how quick a rotational motion they make on the touch sensor. Onceagain different users may have different preferences for zoom speed andthus, in one example, this may be a configurable parameter.

Thus, system 100 includes a logic 110 to receive a rotational motionsignal 130 from a touch sensor. System 100 also includes a control logic120 to selectively update a zoom level based on the rotational motionsignal 130. The control logic 120 also controls a handheld computingdevice to display an image in accordance with the zoom level updated inresponse to the rotational motion signal 130. The control logic 120 mayprovide a control signal 140 to control the handheld computing device.

FIG. 2 illustrates another example system associated with zooming andpanning using a touch wheel control on a handheld computing device.System 200 includes elements similar to those described in connectionwith system 100 (FIG. 1). For example, system 200 includes a receivelogic 210 to receive a rotational motion signal 230 associated with azoom level change. Similarly, system 200 includes a control logic 220 toupdate a zoom level and to control a handheld computing device todisplay an image in accordance with the updated zoom level. The controllogic 220 may exercise this control by providing a control signal 240 tothe handheld computing device. However, the elements in system 200 mayperform additional actions.

For example, in system 200, the receive logic 210 may, in addition toreceiving the rotational motion signal 230, receive a flick motionsignal 250. A “flick motion signal” 250 is associated with a “flicking”action on the touch sensor. To produce a rotational motion, a user mayrotate their finger around the outside of a touch wheel. To produce aflicking motion, a user may position their finger in the middle of thetouch wheel and then move it outwards towards the edge of the touchwheel. The initial position need not necessarily be in the center of thetouch wheel but may, more generally, be a location inside the outerperimeter of the touch wheel. A “flick’ therefore is defined as being amotion that starts with a touch at one location inside the touch wheel,progresses through one or more touches at one or more other locationsinside the touch wheel, and terminates with the touch being lifted. Aflick motion may have both a direction and a speed.

When an image has been zoomed in on, less than all of the image may bedisplayed by the handheld computing device. A user may therefore wish to“pan” a view to different visible portions of the image. Conventionallythis type of panning has been accomplished using inputs from deviceslike joysticks, arrow buttons, knobs, and so on. Once again thesedevices may have been physical and/or logical. However, system 200facilitates interpreting flick motion signal 250 to achieve panning.Flick motion signal 250 may have a flick direction component. Receivelogic 210 may interpret this flick direction component to indicate adesired relocation direction of a view window associated with the image.In this example, the control logic 220 is to control the handheldcomputing device to relocate the view window in response to the flickmotion signal. Thus, in response to a flick in a certain direction, aview window may be relocated to display a different portion of adisplayed image.

The flick motion signal 250 may be interpreted in different ways basedon different values for a zoom level associated with a displayed image.For example, if the image has been zoomed in on, then the flick motionsignal 250 may be interpreted as a pan signal. However, in one example,if the image has not been zoomed in on, then the zoom state may beinterpreted as a “scroll” state. In this example, the flick motionsignal 250 may be interpreted as a scroll command to move to a differentimage stored on and/or available to the handheld computing device. Thus,in one example, the control logic 220 is to control the handheldcomputing device to selectively relocate the view window in the flickdirection within the image upon determining that the zoom level isgreater than a minimum zoom level. However, in another example, thecontrol logic 220 is to control the handheld computing device toselectively relocate the view window to a second image upon determiningthat the zoom level is equal to the minimum zoom level.

Recall that the rotational motion signal 230 may have a velocitycomponent. Similarly, the flick motion signal 250 may have a flickvelocity component. The receive logic 210 and/or the control logic 220may interpret this flick velocity component to indicate a desired rateof change for relocating the view window. In one example, the flickvelocity component may be associated with a number of flick motionsignals received within a predetermined period of time. For example,making a single flick per second may indicate a first desired pan orscroll speed while making five flicks per second may indicate a second,greater, desired pan or scroll speed.

When the flick motion signal 250 is interpreted as a scroll signal, thescrolling may be performed through an ordered set of images. The imagesmay be stored and/or available to the handheld computing device. In thisexample, the control logic 220 may control the handheld computing deviceto selectively relocate the view window to a previous image in anordered set of images upon determining that the flick direction was upand/or left. Conversely, the control logic 220 may control the handheldcomputing device to selectively relocate the view window to a subsequentimage in the ordered set of images upon determining that the flickdirection is down and/or right. Once again, different users may havedifferent preferences for which flick direction(s) is to be interpretedas a previous/next signal and thus, in one example, this may be aconfigurable process.

FIG. 3 illustrates another example system associated with zooming andpanning using a touch wheel control on a handheld computing device.While system 100 (FIG. 1) and system 200 (FIG. 2) were illustrated withjust their elements, system 320 is illustrated inside a handheldcomputing device 300.

Handheld computing device 300 may be, for example, a PDA, a cellulartelephone, a GPS device, a combination of these types of devices, and soon. Handheld computing device 300 includes a memory 310. Memory 310 maystore a digital image and a parameter(s) associated with the digitalimage. The parameter may be, for example, a zoom level, a view windowsize, a view window location, and so on. Device 300 may also include adisplay 315 on which a digital image may be displayed. The image may bedisplayed to comport with the parameters (e.g., zoom level, view windowlocation).

Device 300 includes a touch sensor 330. Touch sensor 330 is illustratedas being circular and as having an outer closed loop portion 332 todetect a rotational motion interaction. Touch sensor 330 is alsoillustrated as having an inner pad portion 334 to detect a flick motioninteraction. While a circular touch sensor 330 is illustrated, it is tobe appreciated that touch sensor 330, and other touch sensors referredto herein, may have other shapes including, but not limited to, an ovalshape, a rectangular shape, a diamond shape, an oblong shape, and so on.

Device 300 includes a system 320 that includes a receive logic 322.Receive logic 322 is configured to receive a rotational motion signalfrom the touch sensor 330 and to receive a flick motion signal from thetouch sensor 330. The rotational motion signal may be generated by outerportion 332 while the flick motion signal may be generated by innerportion 334. System 320 also includes a control logic 324 to control thepresentation of the image on the display 315. The control logic 324 isto control the presentation in response to the rotational motion signaland/or the flick motion signal.

The rotational motion signal may have a rotational direction thatindicates a desired change in a zoom level of the presentation.Therefore, in one example, the control logic 324 is to selectivelyincrease the zoom level of the presentation in response to a clockwiserotational direction and to selectively decrease the zoom level of thepresentation in response to a counter-clockwise rotational direction.Similarly, the flick motion signal may have a flick direction thatindicates a desired relocation of a view window associated with thepresentation. Therefore in one example, the control logic 324 is tocontrol the presentation of the image on display 315 in response to theflick motion signal by selectively relocating the view window in theflick direction within the image.

FIG. 4 illustrates an image 400. Image 400 may be displayed on, forexample, a handheld computing device like those described above inconnection with system 100 (FIG. 1), system 200 (FIG. 2), and system 320(FIG. 3). Therefore a user may have “zoomed in” on a portion of image400. The zoomed in portion may be visible in a view window 410. If theuser zooms in even further, then a smaller portion of image 400 may bevisible in view window 410A. One skilled in the art will be familiarwith the traditional concepts of zooming in and out and resizing a viewwindow. One skilled in the art will also be familiar with thetraditional concept of relocating view window 410 to pan to a differentportion of image 400. However, one skilled in the art will recognizethat the zoom and pan actions illustrated for image 400 have typicallynot been controlled using a touch wheel form of a touch sensor.

FIG. 4 also illustrates an ordered set of images that includes a firstimage 430, a last image 450, and an image 440 located somewhere in theordered set between the first image 430 and the last image 450. Image440 may be displayed on a handheld computing device like those describedabove in connection with system 100 (FIG. 1), system 200 (FIG. 2), andsystem 320 (FIG. 3). If a user has not “zoomed in” on image 440, then apan signal may be interpreted as a scroll signal by example systems andmethods. The scroll signal may cause a view window 420 to berepositioned in the ordered set of images. For example, a flick left mayreposition the view window 420 more towards the first image 430 while aflick right may reposition the view window 420 more towards the lastimage 450.

Example methods may be better appreciated with reference to flowdiagrams. While for purposes of simplicity of explanation, theillustrated methodologies are shown and described as a series of blocks,it is to be appreciated that the methodologies are not limited by theorder of the blocks, as some blocks can occur in different orders and/orconcurrently with other blocks from that shown and described. Moreover,less than all the illustrated blocks may be required to implement anexample methodology. Blocks may be combined or separated into multiplecomponents. Furthermore, additional and/or alternative methodologies canemploy additional, not illustrated blocks.

FIG. 5 illustrates an example method 500 associated with zooming animage displayed on a handheld computing device using a touch wheel touchsensor control on the handheld computing device. Method 500 includes, at510, receiving a zoom signal. The zoom signal may be received from afirst portion of a touch sensor arranged on the handheld computingdevice. The first portion of the touch sensor may be an outer loopdisposed around an inner portion. The zoom signal may be generated inresponse to a rotational touch motion occurring around at least aportion of the outer loop. A “zoom signal” refers to a signal associatedwith indicating a desire to affect a zoom level associated with an imagebeing displayed on the handheld computing device.

Method 500 includes, at 520, selectively updating a zoom stateassociated with an image displayed on the handheld computing device. Thezoom state is selectively updated because a zoom signal may indicate,for example, a desire to increase a zoom level when the zoom level isalready at a maximum amount or a desire to decrease a zoom level whenthe zoom level is already at a minimum amount. The zoom state may bestored, for example, as a value in a data store, as a value in aregister, as a message in a message store, and so on.

Method 500 may also include, at 530, controlling the handheld computingdevice to update the image displayed on the handheld computing device tocomport with the zoom state updated at 520. Thus, method 500 includesreceiving a rotational signal from a touch sensor, selectively updatinga zoom state based on the rotational signal, and then controlling thehandheld computing device to display the image in accordance with theupdated zoom state.

In one example, the zoom signal may include both a rotational directioncomponent and a rotational velocity component. Since the control fromwhich the rotational signal is received may be oriented as a circle, anoval, a loop, and so on, the rotational direction may be a clockwisedirection or a counter-clockwise direction. Therefore, selectivelyupdating the zoom state at 520 may include increasing the zoom state inresponse to the zoom signal having a first rotational directioncomponent and decreasing the zoom state in response to the zoom signalhaving a second rotational direction where the first rotationaldirection is opposite to the second rotational direction. For example, aclockwise signal may indicate a desire to increase the zoom level whilea counter-clockwise signal may indicate a desire to decrease the zoomlevel. As described above, the zoom signal may also include a rotationalvelocity component. This component may be related to, for example, howquickly a user moved their finger around the control generating signal.Since a velocity component may be available, selectively updating thezoom state at 520 may include changing the zoom state at a ratedetermined by the rotational velocity component.

While FIG. 5 illustrates various actions occurring in serial, it is tobe appreciated that various actions illustrated in FIG. 5 could occursubstantially in parallel. By way of illustration, a first process couldreceive zoom signals, a second process could selectively update zoomstates, and a third process could control a handheld computing device todisplay an image in accordance with an updated zoom state. While threeprocesses are described, it is to be appreciated that a greater and/orlesser number of processes could be employed and that lightweightprocesses, regular processes, threads, and other approaches could beemployed.

In one example, a method may be implemented as computer executableinstructions. Thus, in one example, a computer-readable medium may storecomputer executable instructions that if executed by a machine (e.g.,processor) cause the machine to perform method 500. While executableinstructions associated with method 500 are described as being stored ona computer-readable medium, it is to be appreciated that executableinstructions associated with other example methods described herein mayalso be stored on a computer-readable medium.

FIG. 6 illustrates a method 600 associated with zooming and panningusing a touch wheel control on a handheld computing device. Method 600includes some actions similar to those described in connection withmethod 500 (FIG. 5). For example, method 600 includes receiving a zoomsignal at 610, updating a zoom state at 620, and controlling a handheldcomputing device at 630. However, method 600 includes additionalactions.

For example, method 600 includes, at 640, receiving a pan signal fromthe inner portion of the touch sensor. A pan signal is defined as asignal intended to indicate a desired direction for a pan action. In oneexample, the pan signal may be generated in response to a set of touchesthat produce a directional touch motion. In different examples, theseries of touches may be made in the inner portion of the touch sensor,may be made on the outer portion of the touch sensor, may include acombination of touches on the inner and outer portion, and so on. Inanother example, the directional touch may be generated by “flicking”the touch sensor in a certain direction. The directional touch motionmay indicate a direction in which a user wants to pan a viewing windowassociated with a displayed image. Recall that when an image has beenzoomed in on that less than the entire image may be presented on adisplay. Therefore a user may wish to relocate the image to change whichportion of the image is currently being viewed. This direction may beindicated using the touch sensor.

Therefore, method 600 may include, at 650, updating a pan stateassociated with the image. The pan state may be selectively updated at650 because a user may indicate a desire to pan in a direction when theimage is already panned as far in that direction as it can be panned.The pan state may be updated at 650 in response to receiving the pansignal.

Method 600 may also include, at 660, controlling the handheld computingdevice to update the image displayed on the handheld computing device tocomply with the pan state. Controlling the handheld computing device mayinclude, for example, sending a signal to the handheld computing device,invoking a method available in a process on the handheld computingdevice, making a call to a process available on the handheld computingdevice, providing a current and/or voltage to a circuit on the handheldcomputing device, generating an interrupt on the handheld computingdevice, and so on.

Recall that the rotational signal may have included both a direction andvelocity component. The pan signal may similarly include a pan directioncomponent and a pan velocity component. Therefore, selectively updatingthe pan state at 650 may include changing a center display point of theimage in the direction of the pan direction component at a ratedetermined by the pan velocity component.

FIG. 7 illustrates a method 700 associated with zooming and panningusing a touch wheel control on a handheld computing device. Method 700includes some actions similar to those described in connection withmethod 600 (FIG. 6). For example, method 700 includes receiving a zoomsignal at 710, updating a zoom state at 720, and controlling a handheldcomputing device at 730 to comport with the updated zoom state.Additionally, method 700 includes receiving a pan signal at 740,updating a pan state at 780, and controlling the handheld device at 790to comport with the updated pan state. However, method 700 includesadditional actions.

For example, method 700 includes discriminating between a pan signal anda scroll signal. By way of illustration, after a pan signal is receivedat 740, a decision may be made, at 750, concerning whether an image iscompletely zoomed out. If so; then the pan signal is to be interpretedas a scroll signal. If not, then the pan signal is to be interpreted asa pan signal.

Thus, upon determining at 750 that the zoom state indicates a scrollstate, method 700 may proceed, at 760, by terminating the display of acurrently displayed image on the handheld computing device and then, at770, by initiating the display of a new image on the handheld computingdevice. Terminating 760 the display of a currently displayed image mayinclude, for example, removing an image from memory, updating a pointerto a video memory location, and so on. Similarly, initiating 770 thedisplay of the new image may include writing a image to memory, updatinga pointer to a video memory location, and so on.

FIG. 8 illustrates an example computing device in which example systemsand methods described herein, and equivalents, may operate. The examplecomputing device may be a handheld computer 800 that includes aprocessor 802, a memory 804, and input/output ports 810 operablyconnected by a bus 808. In one example, the computer 800 may include azoom and pan logic 830 configured to facilitate receiving and processingsignals from a touch wheel 832. As described above, touch wheel 832 maybe a touch sensor having an outer region arranged in a loopconfiguration and an inner portion. The outer region may be used togenerate rotational signals associated with zooming while the innerregion may be used to generate flick signals associated with panningand/or scrolling. The outer region may be configured as a loop having aphysical constraint formed on an upper surface of the touch wheel andco-extensive with the loop and an inner portion arranged inside theloop.

In different examples, the logic 830 may be implemented in hardware,software, firmware, and/or combinations thereof. While the logic 830 isillustrated as a hardware component attached to the bus 808, it is to beappreciated that in one example, the logic 830 could be implemented inthe processor 802.

Logic 830 may provide means (e.g., hardware, software, firmware) forreceiving a rotational zoom signal from the touch wheel 832. Therotational zoom signal is generated in response to an interaction withthe loop. The means may be implemented, for example, as an ASICprogrammed to receive and process the signal. The means may also beimplemented as computer executable instructions that are presented tocomputer 800 as data 816 that are temporarily stored in memory 804 andthen executed by processor 802.

Logic 830 may also provide means (e.g., hardware, software, firmware)for selectively updating a zoom state associated with an image displayedon the handheld computing device 800. The updating may be based, atleast in part, on the rotational zoom signal. Updating the zoom statemay include, for example, controlling processor 802 to update a value inmemory 804.

Logic 830 may also provide means for receiving a pan signal from thetouch wheel 832. The pan signal may be generated in response to aninteraction with the inner portion of the touch wheel 832. Logic 830 mayalso provide means for selectively updating a pan state associated withthe image displayed on the handheld computing device 800. The updatingmay be based, at least in part, on the pan signal. Thus, the updatingmay include logically relocating a center point associated with a viewwindow logically positioned over an image displayed on computer 800.

Logic 830 may also include means for controlling the handheld computingdevice 800 to display the image in accordance with the zoom state andthe pan state. Controlling the handheld computing device 800 mayinclude, for example, providing data and instructions to processor 802to change an image portion stored in memory 804.

Generally describing an example configuration of the computer 800, theprocessor 802 may be a variety of various processors including dualmicroprocessor and other multi-processor architectures. A memory 804 mayinclude volatile memory and/or non-volatile memory. Non-volatile memorymay include, for example, ROM, PROM, and so on. Volatile memory mayinclude, for example, RAM, SRAM, DRAM, and so on. The memory 804 canstore a process 814 and/or a data 816, for example. The memory 804 canstore an operating system that controls and allocates resources of thecomputer 800.

The bus 808 may be a single internal bus interconnect architectureand/or other bus or mesh architectures. While a single bus isillustrated, it is to be appreciated that the computer 800 maycommunicate with various devices, logics, and peripherals using otherbusses (e.g., PCIE, 1394, USB, Ethernet). The bus 808 can be typesincluding, for example, a memory bus, a memory controller, a peripheralbus, an external bus, a crossbar switch, and/or a local bus. Thecomputer 800 may interact with input/output devices via the input/outputports 810.

While example systems, methods, and so on have been illustrated bydescribing examples, and while the examples have been described inconsiderable detail, it is not the intention of the applicants torestrict or in any way limit the scope of the appended claims to suchdetail. It is, of course, not possible to describe every conceivablecombination of components or methodologies for purposes of describingthe systems, methods, and so on described herein. Therefore, theinvention is not limited to the specific details, the representativeapparatus, and illustrative examples shown and described. Thus, thisapplication is intended to embrace alterations, modifications, andvariations that fall within the scope of the appended claims.

To the extent that the term “includes” or “including” is employed in thedetailed description or the claims, it is intended to be inclusive in amanner similar to the term “comprising” as that term is interpreted whenemployed as a transitional word in a claim.

To the extent that the term “or” is employed in the detailed descriptionor claims (e.g., A or B) it is intended to mean “A or B or both”. Whenthe applicants intend to indicate “only A or B but not both” then theterm “only A or B but not both” will be employed. Thus, use of the term“or” herein is the inclusive, and not the exclusive use. See, Bryan A.Garner, A Dictionary of Modern Legal Usage 624 (2d. Ed. 1995).

To the extent that the phrase “one or more of, A, B, and C” is employedherein, (e.g., a data store configured to store one or more of, A, B,and C) it is intended to convey the set of possibilities A, B, C, AB,AC, BC, and/or ABC (e.g., the data store may store only A, only B, onlyC, A&B, A&C, B&C, and/or A&B&C). It is not intended to require one of A,one of B, and one of C. When the applicants intend to indicate “at leastone of A, at least one of B, and at least one of C”, then the phrasing“at least one of A, at least one of B, and at least one of C” will beemployed.

1. A system, comprising: a receive logic to receive a rotational motionsignal from a touch sensor associated with a handheld computing device,where the handheld computing device is to display an image at a zoomlevel, and where the rotational motion signal has a rotational directionthat indicates a desired change in the zoom level; and a control logicto selectively change the zoom level in response to the rotationalmotion signal and to control the handheld computing device to displaythe image in accordance with the zoom level.
 2. The system of claim 1,where the touch sensor is formed as a dosed loop having a physicalconstraint formed on an upper surface of the touch sensor andco-extensive with the outer perimeter of the closed loop, and where therotational motion signal is generated in response to an interaction withthe closed loop.
 3. The system of claim 1, where the control logic is toselectively increase the zoom level in response to a clockwiserotational direction and where the control logic is to selectivelydecrease the zoom level in response to a counter-clockwise rotationaldirection.
 4. The system of claim 3, where the rotational motion signalhas an angular velocity that indicates a desired rate of change in thezoom level.
 5. The system of claim 1, where the receive logic isconfigured to receive a flick motion signal having a flick directionthat indicates a desired relocation direction of a view windowassociated with the image, and where the control logic is to control thehandheld computing device to relocate the view window in response to theflick motion signal.
 6. The system of claim 5, where the control logicis to control the handheld computing device to selectively relocate theview window in the flick direction within the image upon determiningthat the zoom level is greater than a minimum zoom level.
 7. The systemof claim 6, where the control logic is to control the handheld computingdevice to selectively relocate the view window to a second image upondetermining that the zoom level is equal to the minimum zoom level. 8.The system of claim 6, where the flick motion signal has a flickvelocity component that indicates a desired rate of change associatedwith the relocation of the view window.
 9. The system of claim 8, wherethe flick velocity component is associated with a number of flick motionsignals received within a predetermined period of time.
 10. The systemof claim 8, where the control logic is to control the handheld computingdevice to selectively relocate the view window to a previous image in anordered set of images upon determining that the flick direction is oneof, up, and left, and where the control logic is to control the handheldcomputing device to selectively relocate the view window to a subsequentimage in the ordered set of images upon determining that the flickdirection is one of, down, and right.
 11. The system of claim 1, wherethe touch sensor is one of, a resistive touch sensor, a capacitive touchsensor, an inductive touch sensor, a surface acoustic wave sensing touchsensor, a pressure sensing touch sensor, an optical sensing touchsensor, and an electro-mechanical touch sensor.
 12. The system of claim11, where the touch sensor is one of, overlaid on a keypad associatedwith the handheld computing device, and integrated into a keypadassociated with the handheld computing device.
 13. The system of claim12, where the touch sensor includes an inner portion enclosed by theouter loop, and where the flick motion signal is generated in responseto an interaction with the inner portion.
 14. A handheld computingdevice, comprising: a memory to store a digital image and one or moreparameters associated with a presentation of the digital image; adisplay to provide the presentation of the digital image; a touch sensorhaving an outer closed loop portion to detect a rotational motioninteraction and an inner pad portion to detect a flick motioninteraction; a receive logic to receive a rotational motion signal fromthe touch sensor and to receive a flick motion signal from the touchsensor; and a control logic to control the presentation of the digitalimage on the display, where the control logic is to control thepresentation in response to one or more of, the rotational motionsignal, and the flick motion signal; where the rotational motion signalhas a rotational direction that indicates a desired change in a zoomlevel of the presentation, where the control logic is to selectivelyincrease the zoom level of the presentation in response to a clockwiserotational direction, and where the control logic is to selectivelydecrease the zoom level of the presentation in response to acounter-clockwise rotational direction; where the flick motion signalhas a flick direction that indicates a desired relocation of a viewwindow associated with the presentation, and where the control logic isto control the presentation of the digital image in response to theflick motion signal by selectively relocating the view window in theflick direction within the digital image.
 15. A computer-readable mediumstoring computer-executable instructions that when executed by ahandheld computing device cause the handheld computing device to performa method, the method comprising: receiving a zoom signal from a firstportion of a touch sensor arranged on the handheld computing device, thefirst portion being an outer loop disposed around an inner portion, thezoom signal being generated in response to a rotational touch motionaround at least a portion of the outer loop; selectively, in response toreceiving the zoom signal, updating a zoom state associated with animage displayed on the handheld computing device; and controlling thehandheld computing device to display the image in accordance with thezoom state.
 16. The computer-readable medium of claim 15, including:receiving a pan signal from the inner portion of the touch sensor, thepan signal being generated in response to a directional touch on thetouch sensor; selectively, in response to receiving the pan signal,updating a pan state associated with the image; and controlling thehandheld computing device to display the image in accordance with thepan state.
 17. The computer-readable medium of claim 16, where the zoomsignal includes a rotational direction component and a rotationalvelocity component, where selectively updating the zoom state includesincreasing the zoom state in response to the zoom signal having a firstrotational direction component and decreasing the zoom state in responseto the zoom signal having a second rotational direction, the firstrotational direction being opposite of the second rotational direction,and where selectively updating the zoom state includes changing the zoomstate at a rate determined by the rotational velocity component.
 18. Thecomputer-readable medium of claim 17, where the pan signal includes apan direction component and a pan velocity component, and whereselectively updating the pan state includes changing a center displaypoint of the image in the direction of the pan direction component at arate determined by the pan velocity component.
 19. The computer-readablemedium of claim 18, including, upon determining that the zoom stateindicates a scroll state and that a pan signal has been received,terminating the display of the image on the handheld computing deviceand initiating the display of a second image on the handheld computingdevice.
 20. A system, comprising: a touch wheel comprising: a loophaving a physical constraint formed on an upper surface of the touchwheel and co-extensive with the loop, and an inner portion arrangedinside the loop; means for receiving a rotational zoom signal from thetouch wheel, where the rotational zoom signal is generated in responseto an interaction with the loop; means for selectively updating a zoomstate associated with an image displayed on a handheld computing device,where the updating is based, at least in part, on the rotational zoomsignal; means for receiving a pan signal from the touch wheel, where thepan signal is generated in response to an interaction with the innerportion; means for selectively updating a pan state associated with theimage displayed on the handheld computing device, where the updating isbased, at least in part, on the pan signal; and means for controllingthe handheld computing device to display the image in accordance withthe zoom state and the pan state.